﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Day02
{
    public class Person
    {
        public string Name
        {
            get; set;
        }
        /// <summary>
        /// 不符合开放封闭原则，弃用
        /// </summary>
        /// <param name="type"></param>
        public void GoHome(string type)
        {
            switch (type)
            {
                case "火车":
                    Console.WriteLine("坐火车回家");
                    break;
                case "汽车":
                    Console.WriteLine("坐汽车回家");
                    break;
                case "飞机":
                    Console.WriteLine("坐飞机回家");
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 依赖倒置（抽象）
        /// </summary>
        /// <param name="type"></param>
        public void GoHome(Transportion type)
        {
            //调用抽象类中的抽象方法
            type.Transport();//关心的不是火车或飞机，是运输
        }
    }
}